package ev.agent;
import ev.traffic.*;
import ev.space.*;

import swarm.gui.ZoomRaster;
public interface Car {
		int STOP = 0;
		int RUNNING = 1;
		int SLOW_CHARGE = 2;
		int FAST_CHARGE = 3;
		int DISCHARGE = 4;
		int WAIT_FOR_CHARGE = 5;
		public void setSub(Substation substation);
		public void leaveSub();
		public Substation getSub();

		public void setState(int state);
		public int getState();
		public void setPreState(int preState);
		public int getPreState();
		public Nodes getNode();
		public void setCurSide(Side side);
		public Side getCurSide();
		public void setNode(Nodes node);
		public float getSoc();
		public void setSoc(float Soc);
		public void setRoadLine(java.util.List<Integer> roadLine);
		public java.util.List<Integer> getRoadLine();
		public CitySpace getCitySpace();
		public Owner getOwner();
		public double getAverageCost();

		public void drive();
		public void charge();
		public void randomDrive();
		public void chooseSub();
		public Object setCarColor(byte c);
		public Object drawSelfOn(ZoomRaster r);
}
